// 版权归Go作者所有。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// Package auth提供对用户提供的身份验证凭据的访问。
package auth

import "net/http"

// AddCredentials填写用户的req凭证（如果有）。
// 返回值报告是否找到任何匹配的凭据。
func AddCredentials(req *http.Request) (added bool) {
	host := req.URL.Hostname()

	// TODO（golang.org/issue/26232）：支持用户提供的任意凭证。
	netrcOnce.Do(readNetrc)
	for _, l := range netrc {
		if l.machine == host {
			req.SetBasicAuth(l.login, l.password)
			return true
		}
	}

	return false
}
